Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour M25 Nottingham EFG Swiss Open - Gstaad Alicante Challenger Sydney Challenger Australian Open - Melbourne Quimper Challenger Olympics - Paris Barcelona Challenger Rome Challenger Split Challenger Surbiton Challenger French Open - Paris National Bank Open - Montreal U.S. Open - New York Davis Cup, Group D, Manchester Shanghai Rolex Masters - Shanghai Kobe Challenger BMW Open - Munich BNP Paribas Open - Indian Wells Bengaluru Challenger Delray Beach Open - Delray Beach United Cup - Australia Australian Open - Melbourne Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome French Open - Paris cinch Championships - London Rothesay International - Eastbourne Wimbledon - London National Bank Open - Toronto U.S. Open - New York Chengdu Open - Chengdu Spain F26 Spain F28 Spain F34 Spain F35 Spain F37 Spain F38 Spain F39 Spain F1 Spain F2 Spain F3 Spain F5 Spain F6 Portugal F1 Portugal F2 Spain F10 Spain F11 Spain F13 Spain F14 Spain F15 Spain F17 Spain F20 Spain F21 Spain F22 Spain F24 Spain F25 Spain F26 Spain F27 Spain F29 Spain F30 Spain F32 Spain F35 Spain F36 Spain F38 Spain F39 Turkey F1 Turkey F2 Turkey F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F6 Croatia F5 Croatia F6 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Spain F16 Belgium F1 Netherlands F4 Spain F20 Spain F21 Spain F22 Italy F22 USA F28 USA F1 USA F2 USA F3 Spain F1 Spain F2 Spain F3 Spain F4 Spain F6 Spain F7 Spain F8 Spain F9 Spain F14 Great Britain F15 Italy F22 Spain F32 Portugal F9 Great Britain F5 Great Britain F11 Great Britain F15 Great Britain F7 Belgium F8 Belgium F9 Belgium F10 Belgium F11 Belgium F12 Belgium F13 Belgium F14 France F21 France F22 Germany F17 Germany F18 Great Britain F10 Great Britain F11 France F1 France F2 Spain F1 Spain F3 Spain F4 Spain F5 Spain F6 Portugal F7 Belgium F11 Belgium F12 Belgium F14 Great Britain F4 Great Britain F5 Cyprus F1 Cyprus F2 Cyprus F3 Spain F1 (Manacor) Spain F2 (Manacor) Spain F3 (Paguera) Spain F4 (Paguera) Spain F6 (Cornella) Portugal F1 (Vale Do Lobo) Portugal F2 (Faro) Portugal F3 (Loule) Portugal F4 (Lisbon) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Portugal F7 (Carcavelos) Spain F11 (Majadahonda) Poland F2 (Gdynia) Poland F3 (Mragowo) Poland F4 (Mragowo) Poland F5 (Mragowo) Poland F6 (Mragowo) Poland F7 (Mragowo) Poland F8 (Mragowo) Belgium F8 (Eupen) Belgium F9 (Koksijde) Belgium F10 (Lambermont) Belgium F11 (Damme) Belgium F12 (Middelkerke) Great Britain F4 (Nottingham) Great Britain F6 (Barnstaple) Greece F7 (Heraklion) Greece F8 (Heraklion) Greece F9 (Heraklion) Thailand F10 (Hua Hin) Thailand F11 (Hua Hin) Thailand F12 (Hua Hin) Spain F2 (Manacor (Mallorca)) Spain F3 (Paguera (Mallorca)) Great Britain F2 (Loughborough) Great Britain F3 (Shrewsbury) Italy F2 (Santa Margherita Di Pula) Italy F3 (Santa Margherita Di Pula) Italy F4 (Santa Margherita Di Pula) Italy F5 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Italy F8 (Santa Margherita Di Pula) Italy F9 (Santa Margherita Di Pula) Spain F17 (Bakio) Spain F18 (Getxo) Spain F19 (Gandia) Spain F20 (Denia) Great Britain F4 (Nottingham) Italy F28 (Santa Margherita Di Pula) Italy F29 (Santa Margherita Di Pula) Italy F30 (Santa Margherita Di Pula) Vietnam F4 (Tay Ninh) Vietnam F5 (Tay Ninh) Thailand F8 (Nonthaburi) M25 Nonthaburi M15 Hua Hin M15 Hua Hin M15 Hua Hin M25 Tay Ninh M25 Tay Ninh M15 Sharm El Sheikh M15 Sharm El Sheikh M15 Heraklion M15 Heraklion M15 Heraklion M15 Heraklion M15 Manacor M15 Manacor M15 Heraklion M15 Heraklion M15 Vale Do Lobo M15 Loule M15 Heraklion M15 Heraklion M15 Heraklion M15 Heraklion M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Heraklion M25 Nonthaburi Great Britain F5 (Roehampton) M15 Heraklion M15 Heraklion M15 Antalya M15 Antalya M15 Almada M15 Faro M15 L'Aquila M15 Perugia M15 Xativa M15 Cairo M15 Cairo M15 Sozopol M15 Sozopol M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M15 Antalya M25 Bath M25 Loughborough M25 Shrewsbury M25 Glasgow M25 Vale do Lobo M25 Faro M25 Antalya M25 Antalya M15 Antalya M15 Antalya M25 Nottingham M25 Nottingham M25 Nottingham M25 Nottingham M25 Heraklion M25 Faro M25 Portimao Pozoblanco Challenger Segovia Challenger Alphen Challenger Tiburon Challenger Savannah Challenger Tallahassee Challenger Furth Challenger Milan Challenger Recanati Challenger Seville Challenger Yeongwol Challenger Chitre Challenger Cherbourg Challenger Sarasota Challenger M25 Roehampton Todi Challenger Scheveningen Challenger Vancouver Challenger Seville Challenger Charlottesville Challenger Cherbourg Challenger Quimper Challenger Mersin Challenger Furth Challenger Prague Challenger Poznan Challenger Aptos Challenger Barranquilla Challenger Casablanca Challenger Kobe Challenger Yokohama Challenger Guangzhou Challenger Braunschweig Challenger Como Challenger Seville Challenger Maui Challenger Santiago Challenger Buenos Aires Challenger Seville Challenger Szczecin Challenger Traralgon Challenger Canberra Challenger Toyota Challenger M25 Vila Real de Santo Antonio Lisbon Challenger M25 Loule Poznan Challenger Ilkley Challenger M25 Quinta Do Lago Phoenix Challenger Milan Challenger Caltanissetta Challenger Szczecin Challenger Biella Challenger Fairfield Challenger Knoxville Challenger Burnie Challenger Indian Wells Challenger Belgrade Challenger Heilbronn Challenger Oeiras 3 Challenger Braga Challenger Las Vegas Challenger Surbiton Challenger Nottingham Challenger Rome Challenger Alicante Challenger Ismaning Challenger Knoxville Challenger San Benedetto Challenger Nonthaburi 2 Challenger Monterrey Challenger Las Franquesas del Valles Challenger Murcia Challenger Madrid Challenger Oeiras 3 Challenger Ostrava Challenger Aptos Challenger Cagliari Challenger Prague 2 Challenger Turin Challenger Malaga Challenger Matsuyama Challenger Manama Challenger Lille Challenger Hamburg Challenger Vancouver Challenger Genova Challenger Nottingham 2 Challenger Lisbon Challenger Furth Challenger Como Challenger Braunschweig Challenger Forli 6 Challenger Lisbon Challenger Charlottesville Challenger Cassis Challenger Parma Challenger Nottingham Challenger Nur-Sultan 2 Challenger Marbella Challenger Salzburg-Anif Challenger St. Tropez Challenger Todi Challenger Amersfoort Challenger Winnipeg Challenger Danderyd Challenger Sibiu Challenger Royal Guard Open Chile - Vina del Mar Lexington Challenger Lugano Challenger Hamburg Challenger Playford Challenger Ortisei Challenger Portugal Open - Oeiras Oeiras 3 Challenger Hangzhou Challenger Tunis Challenger Malaysian Open - Kuala Lumpur Chennai Challenger Rakuten Japan Open - Tokyo Salzburg Challenger Erste Bank Open - Vienna Brisbane International - Brisbane Grand Prix Hassan II - Casablanca Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril Generali Open - Kitzbuhel Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Brest Challenger Delray Beach Open - Delray Beach Seoul Challenger Braunschweig Challenger Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Brisbane International - Brisbane Sydney International - Sydney Argentina Open - Buenos Aires Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Pune Challenger Madrid Challenger Francavilla Challenger Swiss Open - Gstaad Abierto Mexicano de Tenis Mifel - Los Cabos Surbiton Challenger New Delhi Challenger Rakuten Japan Open - Tokyo Tata Open Maharashtra - Pune Phoenix Challenger Menorca Challenger Abierto Mexicano Telcel - Acapulco Seville Challenger Sacramento Challenger Cagliari Challenger Prague Challenger Ilkley Challenger Sofia Open - Sofia Kenitra Challenger Taipei 2 Challenger Seoul Challenger Birmingham Challenger Bratislava 2 Challenger Serbia Open - Belgrade Poznan Challenger Cary 1 Challenger Winnipeg Challenger Charlottesville Challenger Vercelli Challenger Rome Challenger Canberra Challenger Guangzhou Challenger Vancouver Challenger Adelaide International 1 - Adelaide Bordeaux Challenger Madrid Challenger Qatar ExxonMobil Open - Doha San Diego Challenger Dubai Duty Free Tennis Championships - Dubai Serbia Open - Belgrade Shenzhen Challenger cinch Championships - London Mallorca Championships - Mallorca Mauthausen Challenger Truist Atlanta Open - Atlanta Bordeaux Challenger Citi Open - Washington Lyon Challenger Korea Open - Seoul Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Cordenons Challenger Manerbio Challenger Perugia Challenger Banja Luka Open - Banja Luka Rakuten Japan Open - Tokyo Ho Chi Minh City Challenger Suzhou Challenger Kobe Challenger Infosys Hall of Fame Open - Newport US Men's Clay Court Championship - Houston Lexington Challenger Chicago Challenger Kobe Challenger Sarasota Challenger Cassis Challenger Rome Challenger Rome Challenger Parma Challenger Aptos Challenger Las Vegas Challenger Canberra Challenger Prostejov Challenger Istanbul Challenger Hamburg Challenger Aix En Provence Challenger Lyon Challenger Lisbon Challenger Charlottesville Challenger Bordeaux Challenger Francavilla Challenger Troisdorf Challenger Braunschweig Challenger Indianapolis Challenger Lexington Challenger Chicago Challenger Hamburg Challenger Sanremo Challenger Yokohama Challenger Bergamo Challenger Augsburg Challenger Nonthaburi 3 Challenger Koblenz Challenger Marburg Challenger Nonthaburi 2 Challenger Girona Challenger Szczecin Challenger Braunschweig Challenger Barranquilla Challenger Cary Challenger Ningboo Challenger Shenzhen Challenger Nonthaburi 3 Challenger Panama City Challenger Copa Claro - Buenos Aires Cap Cana Challenger Bordeaux Challenger Sassuolo Challenger Guimaraes Challenger Szczecin Challenger Forte Village Sardegna Open - Sardinia Trnava Challenger Todi Challenger San Marino Challenger Cordenons Challenger M15 Antalya Nonthaburi 1 Challenger Scheveningen Challenger Mestre Challenger Loughborough Challenger Nonthaburi 1 Challenger Sofia Open - Sofia Nordea Open - Bastad Barcelona Open BancSabadell - Barcelona Atlanta Open - Atlanta Citi Open - Washington China Open - Beijing Shenzhen Open - Shenzhen Plava Laguna Croatia Open - Umag Astana Open - Astana Plava Laguna Croatia Open - Umag Chengdu Open - Chengdu ASB Classic - Auckland Dallas Open - Dallas BMW Open - Munich Open Parc - Lyon Japan Open Tennis Championships - Tokyo cinch Championships - London Mallorca Championships - Mallorca Qatar ExxonMobil Open - Doha Winston-Salem Open - Winston-Salem Hong Kong Tennis Open - Hong Kong Open Sud de France - Montpellier Open 13 - Marseille Bet-at-home Open - Hamburg Citi Open - Washington Valencia Open - Valencia Aircel Chennai Open - Chennai Open Sud de France - Montpellier Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech BRD Nastase Tiriac Trophy - Bucharest SkiStar Swedish Open - Bastad Yokohama Challenger Rakuten Japan Open - Tokyo Qatar ExxonMobil Open - Doha Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech Suisse Open - Gstaad ASB Classic - Auckland Abierto Mexicano Telcel - Acapulco TEB BNP Paribas Istanbul Open - Istanbul Sibiu Challenger Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Canberra Challenger Rio Open - Rio de Janeiro National Bank Open - Toronto BMW Open - Munich Geneva Open - Geneva Murray River Open - Melbourne Singapore Tennis Open - Singapore Anytech365 Andalucia Open - Marbella Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Swiss Indoors Basel - Basel San Diego Open - San Diego Tennis Napoli Open - Naples Adelaide International 1 - Adelaide ASB Classic - Auckland BMW Open - Munich Citi Open - Washington Delray Beach Open - Delray Beach Mifel Tennis Open - Los Cabos Abierto Mexicano Telcel - Acapulco Rothesay International - Eastbourne Nordea Open - Bastad Chengdu Open - Chengdu Almaty Open - Almaty Moselle Open - Metz Adelaide International - Adelaide Dallas Open - Dallas Prague 1 Challenger Mifel Tennis Open - Los Cabos Rakuten Japan Open - Tokyo US Men's Clay Court Championship - Houston Abierto Mexicano - Los Cabos Australian Open - Melbourne BNP Paribas Open - Indian Wells Sony Open Tennis - Miami BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells cinch Championships - London BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Montreal Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Miami Open - Miami New York Open - New York Cincinnati Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Barcelona Open Banc Sabadell - Barcelona Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris U.S. Open - New York Shanghai Rolex Masters - Shanghai Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York BNP Paribas Open - Indian Wells U.S. Open - New York Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid Davis Cup, World Group, 1R, JPN-FRA 1-4 Davis Cup, World Group, PO, JPN-BIH 4-0 Davis Cup, Qualifiers, 1R, SWE-JPN 3-2 Davis Cup, World Group, Q, JPN-GBR 3-2 French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Wimbledon (juniors) French Open - Paris All Lower level tournaments Wimbledon - London Australian Open - Melbourne Wimbledon - London Olympics - Rio de Janeiro Olympics - Tokyo Australian Open - Melbourne Davis Cup, World Group, QF, JPN-CZE 0-5 Davis Cup, World Group, PO, COL-JPN 2-3 Davis Cup, World Group, 1R, GBR-JPN 3-1 Davis Cup, World Group, 1R, JPN-ITA 1-3 Davis Cup, World Group, PO, JPN-UKR 5-0 Davis Cup, Group I, PO, JPN-POL 4-0 Davis Cup, World Group, QR, CHN-JPN 2-3 Internazionali BNL d'Italia - Rome